package com.xinqi.modules.sys.gpt.dto.req;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Size;

/**
 * 发送新奇AI消息 -- 请求
 *
 * @Author：yyzhen
 * @Package：com.xinqi.modules.sys.gpt.dto.req
 * @Project：com.xinqi.-Cloud-Plus
 * @name：ChatMessageSendDTO
 * @Date：2023/5/29 11:18
 * @Filename：ChatMessageSendDTO
 */
@Data
public class ChatMessageSendDTO {

    @Schema(description = "用户ID")
    private String userDisplayName;

    @Schema(description = "引用消息ID")
    private String quoteMessageId;

    @NotEmpty(message = "{gpt.chat.meassage.content.not.blank}")
    @Size(min = 0, max = 500, message = "{gpt.chat.meassage.length.valid}")
    @Schema(description = "消息内容")
    private String content;

    @NotEmpty(message = "{gpt.chat.meassage.client.not.blank}")
    private String client;

    @Schema(title = "预设问题", hidden = true)
    private Context context;

    @Schema(title = "流输出(默认流输出)", hidden = true)
    private Boolean stream = Boolean.TRUE;

    @Schema(title = "消息通道(区分PC、APP，不对外)", hidden = true)
    private String userSessionId;

    @Schema(title = "操作用户ID(内部流转参数，不对外)", hidden = true)
    private String userId;
}
